package com.briup.srms.sms.service;

import java.util.List;

import javax.validation.constraints.NotNull;

import com.briup.srms.sms.bean.StudentAttendance;
import com.briup.srms.sms.bean.extend.StudentAttendanceExtend;
import com.briup.srms.sms.bean.extend.StudentWithAttendance;
import com.briup.srms.sms.vm.ClazzAttendance;
import com.jacky.base.utils.CustomerException;
import com.jacky.base.utils.PageVM;

public interface IStudentAttendanceService {
	// 通过ID删除
	void deleteById(long id) throws CustomerException;
	
	void batchSaveMulti(Long[] ids, Long[] dates, String[] stages, String status, String comment);

	void batchSave(Long[] ids, Long date, String stage, String status,String comment) throws CustomerException;

	PageVM<StudentAttendanceExtend> pageQuery(int page, int pageSize, String realname, Long directionId, Long clazzId,String[] statuses,String attendanceDateStr);

	PageVM<StudentAttendanceExtend> pageQueryTrain(int page, int pageSize, String realname, Long trainId,Long channelId,String attendanceDateStr);
	
	PageVM<StudentWithAttendance> pageQueryAttendanceReport(int page,int pageSize,Long channelId,Long directionId,Long clazzId,Long startTime,Long endTime);
	// 查询班级出勤
	List<ClazzAttendance> queryClazzAttendance(Long date,String stage,String area,String status,Long chargeId);

	List<StudentAttendance> queryAttendances(@NotNull Long startTime, @NotNull Long endTime, Long studentId);

	
}
